home *** CD-ROM | disk | FTP | other *** search
/ PC-Blue - MS DOS Public Domain Library / PC-Blue MS-DOS Public Domain Library - NYACC.iso / vol087 / pccheck.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1986-12-15  |  43.9 KB  |  564 lines

  1. 1  ' PC-CHECK VERSION 1.0    HOLCOM INC.
  2. 5  KEY OFF:GOSUB 10050
  3. 6  FOR I=1 TO 10:KEY I,"":NEXT:DEF SEG=0:POKE (&H417),64
  4. 7  GOSUB 10500
  5. 10  CLS:LOCATE 12,21:PRINT"IF FILES ARE ON A DIFFERENT DISK THEN":LOCATE 13,19:PRINT"INSERT THAT DISK IN DRIVE A AT THIS TIME.":GOSUB 4008
  6. 14  OPTION BASE 1
  7. 15  CLEAR ,,1000:MAXCODES=681:MAXREC=100:MAXCHARGE=MAXREC\2:MAXEDIT=50
  8. 16  DIM C1$(MAXCODES-1),C2$(MAXCODES-1),E2(MAXEDIT),E3(MAXEDIT),E5(MAXEDIT),RN(MAXREC),RA#(MAXREC),BANKN(MAXCHARGE),BANKD(MAXCHARGE), BANKID$(MAXCHARGE),BANKA#(MAXCHARGE),SC$(MAXCODES-1)
  9. 20  Z1$=" CHECK#  DATE    DESCRIPTION          AMOUNT        BALANCE      CODE          "
  10. 21  Z2$=" ####  \      \  \          \ $$#########.## $$#########.##       \\ !"
  11. 22  Z3$=" ####  \      \  \                       \$$#########.##$$#########.##     \\ !"
  12. 23  Z4$=" CHECK#   DATE         DESCRIPTION             AMOUNT        BALANCE      CODE"
  13. 24  ZZ$=" ####  ###### \                         \! \\! #########.##  #########.## ! "
  14. 26  Z7$="                            CODE             DESCRIPTION                  "
  15. 27  Z8$="                             \\         \                       \
  16. 28  ZR$=" CHECK#                               AMOUNT                                   "
  17. 29  ZRC$="  TYPE   DATE    DESCRIPTION          AMOUNT                                   "
  18. 30  ZR1$=" ####                         $$#########.##                         "
  19. 31  ZR2$=" ####  \      \  \          \ $$#########.##
  20. 35  ZD$="$$#########.##"
  21. 36  ZDD$="$$#########.##  $$#########.##"
  22. 50  GOSUB 10300
  23. 100  CLOSE:CLS:COLOR 0,7:LOCATE 3,29:PRINT "      PC-CHECK      ":COLOR 15,0
  24. 110  LOCATE 6,37:PRINT"MENU"
  25. 115  LOCATE 8,24:PRINT"1. BEGIN NEW CHECK FILE"
  26. 120  LOCATE 9,24:PRINT"2. BEGIN NEW CODE FILE"
  27. 125  LOCATE 10,24:PRINT"3. EDIT FILE"
  28. 130  LOCATE 11,24:PRINT"4. DISK COMMANDS"
  29. 135  LOCATE 12,24:PRINT"5. LIST CHECK OR CODE FILE"
  30. 140  LOCATE 13,24:PRINT"6. SUMMARIZE CHECKS BY CODE"
  31. 145  LOCATE 14,24:PRINT"7. LIST FILES IN DIRECTORY"
  32. 150  LOCATE 15,24:PRINT"8. RECONCILE CHECK FILE"
  33. 160  LOCATE 16,24:PRINT"9. END"
  34. 170  LOCATE 18,24:COLOR 0,7:PRINT"ENTER NUMBER OF DESIRED OPTION";:COLOR 7,0:GOSUB 4000
  35. 175  ER=6:ON A GOSUB 8400,8400,7000,8500,8200,9700,1150,8800,435:GOTO 100
  36. 180  ER=1:GOSUB 8000:GOTO 100
  37. 200  CLS:LOCATE 7,28:COLOR 0,7:PRINT"    EDIT FILES MENU    ":COLOR 7,0
  38. 205  LOCATE 10,26:PRINT "1. ADD TO CHECK OR CODE FILE"
  39. 210  LOCATE 11,26:PRINT "2. EDIT CHECK OR CODE FILE"
  40. 220  LOCATE 12,26:PRINT "3. FIND CHECK ON FILE"
  41. 240  LOCATE 16,18:COLOR 0,7:PRINT"*ENTER NUMBER OF DESIRED OPTION (0 TO RETURN)":COLOR 7,0:GOSUB 4000:E=A
  42. 245  IF E<>INT(E) OR E<0 OR E>3 THEN ER=1:GOSUB 8000:GOTO 200
  43. 246  RETURN
  44. 255  CLS:LOCATE 12,30:PRINT"*ENTER NAME OF FILE":LOCATE 13,33:INPUT"(0 TO RETURN)";CF$
  45. 256  IF CF$="0" THEN RETURN
  46. 260  IF CF$="DIR" THEN GOSUB 1150:GOTO 255
  47. 261  IF BAKOK<>1 THEN IF RIGHT$(CF$,4)=".BAK" OR RIGHT$(CF$,4)=".COB" THEN ER=10:GOSUB 8000:GOTO 255
  48. 262  IF NEWNAME=1 THEN GOSUB 630:GOTO 270
  49. 265  IF RIGHT$(CF$,3)=".CO" THEN W=2 ELSE W=1
  50. 270  GOSUB 1200
  51. 275  IF NEWNAME=1 THEN IF EXIST=1 THEN ER=9:GOSUB 8000:GOTO 255
  52. 280  IF NEWNAME=0 THEN IF EXIST=0 THEN ER=3:GOSUB 8000:GOTO 255
  53. 285  RETURN
  54. 300  CLS:LOCATE 8,27:COLOR 0,7:PRINT"    DISK COMMANDS MENU    ":COLOR 7,0
  55. 305  LOCATE 10,26:PRINT"1. DELETE CHECK OR CODE FILE"
  56. 310  LOCATE 11,26:PRINT"2. RENAME CHECK OR CODE FILE"
  57. 320  LOCATE 12,26:PRINT"3. YEAR-END PROCESSING"
  58. 321  LOCATE 13,26:PRINT"4. SWITCH TO DIFFERENT DISK"
  59. 322  LOCATE 14,26:PRINT"5. BACKUP A FILE"
  60. 323  LOCATE 15,26:PRINT"6. MERGE TWO FILES"
  61. 325  LOCATE 17,18:COLOR 0,7:PRINT"*ENTER NUMBER OF DESIRED OPTION (0 TO RETURN)":COLOR 7,0:GOSUB 4000:D=A
  62. 330  IF D<0 OR D>6 THEN ER=1: GOSUB 8000:GOTO 300
  63. 331  RETURN
  64. 370  CLS:LOCATE 12,24:PRINT"ARE YOU SURE YOU WISH TO DELETE":LOCATE 13,20:PRINT"THE FILE <";CF$;"> FROM THIS DISK (Y/N)";:GOSUB 4010
  65. 371  IF A$<>"Y" AND A$<>"N" THEN ER=1:GOSUB 8000:GOTO 370
  66. 375  IF A$="N" THEN RETURN
  67. 380  KILL CF$:RETURN
  68. 435  CLS:A$=" ":LOCATE 13,23:PRINT"ARE YOU SURE YOU WANT TO END(Y/N)":LOCATE 20,1:COLOR 9,0:PRINT"*REMINDER";:COLOR 7,0:PRINT" DON'T FORGET TO":LOCATE 21,1:PRINT"BACKUP FILES OFTEN!":GOSUB 4010
  69. 438  IF A$<>"Y" AND A$<>"N" THEN ER=1:GOSUB 8000:GOTO 435
  70. 439  IF A$="N" THEN RETURN ELSE CLOSE:GOSUB 10300:SYSTEM
  71. 630  FOR J=1 TO LEN(CF$): J$=MID$(CF$,J,1):IF J$ = " " OR J$= "," OR J$="." OR J$="/" OR J$="?" OR J$="*" OR J$="+" OR J$="=" OR J$="[" OR J$="]" OR J$=";" OR J$=":" THEN CF$ =MID$(CF$,1,J-1): J=LEN (CF$)
  72. 635  NEXT
  73. 637  IF LEN(CF$)>8 THEN CF$=LEFT$(CF$,8)
  74. 639  IF W=2 THEN CF$=CF$+".CO"
  75. 641  RETURN
  76. 647  LOCATE 20,23: PRINT"YOUR FILE WILL BE NAMED <";CF$;">":GOSUB 4807:RETURN
  77. 680  CLS:LOCATE 13,30:INPUT "ENTER INITIAL BALANCE"; BB#
  78. 695  GOSUB 770: IF Q=1 THEN Q=0:GOTO 680
  79. 700  CLS:LOCATE 13,31:INPUT "ENTER INITIAL DATE" ;BD$
  80. 705  GOSUB 875:IF Q=1 THEN Q=0:GOTO 700
  81. 710  CLS:LOCATE 12,25:PRINT"INITIAL BALANCE IS ";:PRINT USING ZD$;BB#
  82. 720  LOCATE 13,25:PRINT "INITIAL DATE IS          ";BD$
  83. 725  GOSUB 4807:IF A$="N" GOTO 680
  84. 733  N=0:BD=BD:ID$="0000000000000000000000000":AM#=BB#:BB#=BB#:CE$="--":R$="*"
  85. 734  RETURN
  86. 735  OPEN"O",1,CF$:WRITE #1,N;BD;ID$;CE$;AM#;BB#;R$:CLOSE:RETURN
  87. 770  Q=0:BB$=STR$(INT(BB# *100 +0.4)/100):FOR J=1 TO LEN(BB$):IF MID$(BB$,J,1)="." THEN 810 ELSE NEXT
  88. 810  IF J>LEN(BB$) THEN BB$=BB$ + ".00":GOTO 840
  89. 820  IF J+1=LEN(BB$) THEN BB$ = BB$ + "0":GOTO 840
  90. 830  IF J+2< LEN(BB$) THEN BB$=LEFT$(BB$,J+2)
  91. 840  IF LEN(BB$) >11 THEN LOCATE 25,26:PRINT "AMOUNT TOO LARGE, TRY AGAIN";:Q=1:GOSUB 4008:FCL=2520.5:GOSUB 10000:RETURN
  92. 860  BB#=VAL(BB$):RETURN
  93. 875  IF LEN(BD$)<=7 AND MID$(BD$,2,1)="/" THEN BD$="0"+BD$
  94. 876  IF LEN(BD$)=7 AND MID$(BD$,5,1)="/" THEN BD$=LEFT$(BD$,3)+"0"+RIGHT$(BD$,4)
  95. 877  IF LEN(BD$)<6 THEN 925
  96. 879  Q=0:FOR J=1 TO 8:J$=MID$(BD$,J,1)
  97. 885  IF J=1 GOTO 895
  98. 887  IF J=3 OR J=6 GOTO 905
  99. 888  IF J=4 GOTO 910
  100. 889  IF J=2 OR J=5 OR J=7 OR J=8 GOTO 915
  101. 895  IF J$= "0" OR J$="1" GOTO 917
  102. 896  GOTO 925
  103. 905  IF J$="/" GOTO 917
  104. 906  GOTO 925
  105. 910  IF ASC(J$)>47 AND ASC(J$)<52 GOTO 917
  106. 911  GOTO 925
  107. 915  IF ASC(J$)>47 AND ASC(J$)<58 GOTO 917
  108. 916  GOTO 925
  109. 917  NEXT
  110. 918  IF VAL((MID$(BD$,1,1))+(MID$(BD$,2,1)))=>13 GOTO 925
  111. 919  IF VAL((MID$(BD$,4,1))+(MID$(BD$,5,1)))=>32 GOTO 925
  112. 920  IF LEN(BD$)=>9 GOTO 925
  113. 921  GOTO 930
  114. 925  BEEP:LOCATE 25,25:PRINT"DATE FORMAT ERROR (MM/DD/YY)";:Q=1:GOSUB 4008:FCL=2525.55 :GOSUB 10000:RETURN
  115. 930  BD=VAL(RIGHT$(BD$,2)+LEFT$(BD$,2)+MID$(BD$,4,2)):RETURN
  116. 950  BSLASH$=STR$(BD)
  117. 955  IF LEN(BSLASH$)=6 THEN BSLASH$="0"+RIGHT$(BSLASH$,5) ELSE BSLASH$=RIGHT$(BSLASH$,6)
  118. 960  BSLASH$=MID$(BSLASH$,3,2)+"/"+RIGHT$(BSLASH$,2)+"/"+LEFT$(BSLASH$,2)
  119. 965  RETURN
  120. 1150  CLS:LOCATE 13,21:PRINT"ENTER DRIVE THAT YOU WANT DIRECTORY OF":GOSUB 4010:IF ASC(A$)<65 OR ASC(A$)>90 THEN DRIVE$="A:" ELSE DRIVE$=A$+":"
  121. 1154  CLS:LOCATE 5,17:COLOR 0,7:PRINT" DIRECTORY OF CHECK AND CODE FILES ON DRIVE ";DRIVE$:COLOR 7,0
  122. 1155  ON ERROR GOTO 1185
  123. 1160  ER=1:FILES DRIVE$+"*."
  124. 1165  ER=2:FILES DRIVE$+"*.CO"
  125. 1170  ER=3:FILES DRIVE$+"*.BAK"
  126. 1175  ER=4:FILES DRIVE$+"*.COB"
  127. 1180  ON ERROR GOTO 0:GOSUB 4008:CLS:RETURN
  128. 1185  RESUME 1190
  129. 1190  ON ER GOTO 1165,1170,1175,1180
  130. 1200  ON ERROR GOTO 1206
  131. 1205  OPEN "I",1,CF$:CLOSE:EXIST=1:GOTO 1210
  132. 1206  RESUME 1207
  133. 1207  EXIST=0
  134. 1210  ON ERROR GOTO 0: RETURN
  135. 1500  CLS:LOCATE 12,22:PRINT "PRESS ANY KEY WHEN THE FORMATTED CHECK":LOCATE 13,18:PRINT "FILE DISK THAT YOU WISH TO USE IS IN DRIVE A":GOSUB 4000:GOSUB 10300:RETURN
  136. 1520  CLS:LOCATE 13,12:PRINT" ARE YOU USING ONE OR TWO DRIVES TO BACKUP YOUR FILE (1/2)":GOSUB 4000:D=A
  137. 1525  IF D<>1 AND D<>2 THEN ER=1: GOSUB 8000: GOTO 1520
  138. 1530  RETURN
  139. 1550  CLS:LOCATE 11,15: PRINT"ATTENTION **WHEN BACKING UP A FILE IT IS IMPORTANT": LOCATE 12,23:PRINT"TO FOLLOW THIS DIRECTION CORRECTLY"
  140. 1551  LOCATE 13,23:PRINT" PLACE YOUR ";:COLOR 9,0:PRINT "SOURCE";:COLOR 7,0:PRINT " DISK IN DRIVE ";:COLOR 9,0:PRINT"A";:COLOR 7,0
  141. 1552  LOCATE 14,22:PRINT"AND YOUR ";:COLOR 9,0:PRINT"DESTINATION ";:COLOR 7,0:PRINT"DISK IN DRIVE ";:COLOR 9,0:PRINT"B.":COLOR 7,0:GOSUB 4008:GOSUB 10400:RETURN
  142. 1600  CLS:LOCATE 12,19:PRINT"THIS OPTION WILL SEPARATE A FILE INTO TWO":LOCATE 13,11:PRINT"SEPARATE FILES.  THE CURRENT FILE WILL CONTAIN ALL ENTRIES":LOCATE 14,20:PRINT"UP TO AND INCLUDING THE DATE SPECIFIED."
  143. 1605  LOCATE 15,15:PRINT "THE NEW FILE WILL CONTAIN THE REST OF THE ENTRIES.":GOSUB 4008
  144. 1620  GOSUB 4600:IF CF$="0" THEN RETURN
  145. 1625  CLS:BD$=" ":LOCATE 12,15:INPUT"*AFTER WHAT DATE DO YOU WISH YOUR NEW FILE TO START";BD$:IF BD$="0" THEN CLS:RETURN
  146. 1630  GOSUB 875:IF Q=1 THEN Q=0:GOTO 1625
  147. 1635  H=BD
  148. 1640  GOSUB 5000:GOSUB 5060
  149. 1645  GOSUB 5030: IF F=1 THEN GOSUB 4950:NAME CF$ AS D$:GOSUB 4870: RETURN
  150. 1650  IF BD<=H THEN GOSUB 5085:B1#=BB#:GOTO 1645
  151. 1655  CLOSE 2:NAME "WORKFILE" AS D$
  152. 1660  GOSUB 5060
  153. 1665  TEMPN=N:N=0:TEMPID$=ID$:ID$="0000000000000000000000000":TEMPAM#=AM#:AM#=B1#:TEMPBB#=BB#:BB#=B1#:TEMPCE$=CE$:CE$="--":TEMPR$=R$:R$="*"
  154. 1667  GOSUB 5085
  155. 1670  N=TEMPN:ID$=TEMPID$:AM#=TEMPAM#:BB#=TEMPBB#:CE$=TEMPCE$:R$=TEMPR$:GOSUB 5085
  156. 1675  GOSUB 5030: IF F=1 THEN GOSUB 4950: RETURN ELSE GOSUB 5085:GOTO 1675
  157. 1700  CLS:LOCATE 12,19:PRINT"THIS OPTION WILL ALLOW YOU TO ADD ONE FILE":LOCATE 13,9:PRINT"TO THE END OF ANOTHER FILE.  THE FILES MUST BE SEQUENTIAL IN DATE"
  158. 1705  LOCATE 14,19:PRINT"AND THE ENDING BALANCE OF THE FIRST FILE MUST MATCH":LOCATE 15,23:PRINT"THE BEGINING BALANCE OF THE SECOND"
  159. 1710  GOSUB 4807:IF A$="N" THEN RETURN
  160. 1715  CLS:CF$=" ":LOCATE 12,24:PRINT"ENTER NAME OF FIRST CHECK FILE":LOCATE 13,33:INPUT"(0 TO RETURN)";CF$
  161. 1720  GOSUB 256:IF CF$="0" THEN RETURN
  162. 1722  IF RIGHT$(CF$,3)=".CO" THEN ER=2:GOSUB 8000:GOTO 1715
  163. 1725  FIRST$=CF$
  164. 1730  CLS:CF$=" ":LOCATE 12,23:PRINT"ENTER NAME OF SECOND CHECK FILE":LOCATE 13,33:INPUT"(0 TO RETURN)";CF$
  165. 1735  GOSUB 256:IF CF$="0" THEN RETURN
  166. 1737  IF RIGHT$(CF$,3)=".CO" THEN ER=2:GOSUB 8000:GOTO 1730
  167. 1740  SECOND$=CF$:IF FIRST$=SECOND$ THEN LOCATE 25,25:COLOR 0,7:BEEP:PRINT"THESE FILE NAMES ARE IDENTICAL";:COLOR 7,0:GOSUB 4008:GOTO 1715
  168. 1745  CLS:CF$=" ":LOCATE 12,24:PRINT"ENTER NAME OF NEW MERGED FILE":LOCATE 13,33:INPUT"(0 TO RETURN)";CF$
  169. 1750  NEWNAME=1:GOSUB 256:NEWNAME=0:IF CF$="0" THEN RETURN
  170. 1752  GOSUB 647:IF A$="N" GOTO 1745
  171. 1755  THIRD$=CF$
  172. 1760  CF$=FIRST$:GOSUB 5000
  173. 1765  CF$="THIRD":GOSUB 5060
  174. 1767  B1#=0
  175. 1770  GOSUB 5030:IF F=0 THEN GOSUB 4795:B1#=BB#:GOSUB 5085:GOTO 1770
  176. 1775  CLOSE 1:CF$=SECOND$:GOSUB 5000
  177. 1780  GOSUB 5030:IF F=1 GOTO 1790
  178. 1785  GOSUB 5030:IF F=0 THEN GOSUB 4795:B1#=BB#:GOSUB 5085:GOTO 1785
  179. 1790  CLOSE:NAME "WORKFILE" AS THIRD$:KILL "CATALOG":RETURN
  180. 2000  SORTX=NUMOFCODES
  181. 2005  FOR I=1 TO NUMOFCODES
  182. 2010  IF SC$(I)="--" THEN SWAP SC$(I),SC$(NUMOFCODES):SORTX=SORTX-1 ELSE NEXT I
  183. 2015  FOR I=1 TO SORTX-1
  184. 2020  SMALL=ASC(SC$(I))*100+ASC(RIGHT$(SC$(I),1)):IINDEX=I
  185. 2025  FOR II=I+1 TO SORTX
  186. 2030  COMP=ASC(SC$(II))*100+ASC(RIGHT$(SC$(II),1))
  187. 2035  IF COMP<SMALL THEN SMALL=COMP:IINDEX=II
  188. 2040  NEXT II
  189. 2045  SWAP SC$(I),SC$(IINDEX)
  190. 2050  NEXT I
  191. 2055  RETURN
  192. 2100  STP=14: IF STP+LAST>NUMOFCODES THEN STP=NUMOFCODES-LAST:IF STP<1 THEN I=1:X=45:IF S=2 THEN X=47:GOTO 2170 ELSE GOTO 2125
  193. 2105  FOR I=1 TO STP
  194. 2110  N=ASC(SC$(I+LAST))
  195. 2115  IF N=X OR N=X+1 THEN FILE$="SORT"+SC$(I+LAST) ELSE GOTO 2125
  196. 2120  Y=I:GOSUB 2215
  197. 2123  NEXT I
  198. 2125  IF I=1 THEN FILE$=CHR$(X):GOSUB 2250:X=X+2:GOTO 2170
  199. 2130  Y=I:FILE$=CHR$(X)
  200. 2133  GOSUB 2200
  201. 2135  Y=I:GOSUB 2230: IF F=1 THEN CLOSE:GOTO 2170
  202. 2145  FOR INDEX=1 TO I-1
  203. 2150  IF CE$=SC$(INDEX+LAST) THEN FILE$="SORT"+CE$:Y=INDEX:GOSUB 2240: GOTO 2135
  204. 2155  NEXT INDEX
  205. 2160  GOTO 2135
  206. 2170  LAST=LAST+I-1:IF X=91 THEN X=45
  207. 2175  IF X=47 THEN CLOSE :IF S=2 THEN FILE$=CHR$(ASC(SC$(1))):GOSUB 2250:RETURN ELSE RETURN
  208. 2180  GOTO 2100
  209. 2185  XX=(X-65)/2
  210. 2187  FOR I=1 TO XX
  211. 2190  FILE$=CHR$(63+2*I)
  212. 2192  GOSUB 2250
  213. 2195  NEXT
  214. 2197  RETURN
  215. 2200  FILE$="B:"+FILE$:OPEN "I",#Y,FILE$
  216. 2210  RETURN
  217. 2215  FILE$="B:"+FILE$:OPEN "O",#Y,FILE$:FILE$=RIGHT$(FILE$,(LEN(FILE$)-2))
  218. 2225  RETURN
  219. 2230  F=0:IF EOF(Y) THEN F=1:RETURN
  220. 2235  INPUT #Y,N,BD,ID$,CE$,AM#,BB#,R$
  221. 2237  RETURN
  222. 2240  WRITE #Y,N;BD;ID$;CE$;AM#;BB#;R$
  223. 2247  RETURN
  224. 2250  IF LEFT$(FILE$,2)<>"B:" THEN FILE$="B:"+FILE$
  225. 2260  KILL FILE$: RETURN
  226. 2300  CLS: LOCATE 8,35:COLOR 0,7:PRINT"    SUMMARY MENU    ":COLOR 7,0
  227. 2305  LOCATE 10,25:PRINT"1. SUMMARIZE ONE SPECIFIC CODE"
  228. 2310  LOCATE 11,25:PRINT"2. SUMMARIZE ONE GENERAL CODE"
  229. 2315  LOCATE 12,25:PRINT"3. SUMMARIZE ALL CODES"
  230. 2320  LOCATE 14,18:COLOR 0,7:PRINT"*ENTER NUMBER OF DESIRED OPTION (0 TO RETURN)":COLOR 7,0:GOSUB 4000:S=A
  231. 2325  IF S<>INT(S) OR S<0 OR S>3 THEN ER=1:GOSUB 8000
  232. 2330  RETURN
  233. 2350  CLS:IF FCODE$="" THEN LOCATE 12,30:PRINT"IS THERE A CODE FILE":LOCATE 13,23:PRINT"TO ACCOMPANY THIS CHECK FILE (Y/N)":LOCATE 14,23:PRINT"ENTER 'Y' TO ENTER CODE FILE NAME" ELSE RETURN
  234. 2355  GOSUB 4010: IF A$="N" THEN FCODE$="NONE":RETURN
  235. 2360  IF A$<>"Y" THEN ER=1:GOSUB 8000: GOTO 2350
  236. 2365  RETURN
  237. 2370  CLS:LOCATE 13,20:PRINT"CODE FILES MUST HAVE THE EXTENSION '.CO'":GOSUB 4008:RETURN
  238. 2380  CLS:BEEP:LOCATE 12,27:PRINT"YOU MUST ENTER THE NAME OF":LOCATE 13,25:PRINT"THE CHECK FILE TO BE USED FIRST"
  239. 2385  GOSUB 4008:RETURN
  240. 2390  CLS:LOCATE 13,21:PRINT"THERE ARE NO ENTRIES WITH THE CODE ";FILE$:LOCATE 14,34:PRINT"IN THIS FILE":GOSUB 4008:RETURN
  241. 2400  CLS:LOCATE 12,25:PRINT "ENTER THE SPECIFIC TWO LETTER":LOCATE 13,24:INPUT"CODE THAT YOU WISH TO SUMMARIZE";FILE$
  242. 2405  IF LEN(FILE$)=2 GOTO 2410
  243. 2407  ER=11:GOSUB 8000:GOTO 2400
  244. 2410  FOR J=1 TO 2: JJ=ASC(MID$(FILE$,J,1)): IF (JJ<65 OR JJ>90) AND FILE$<>"--" GOTO 2407 ELSE NEXT
  245. 2412  SPEC$=FILE$:FILE$="SORT"+FILE$
  246. 2415  RETURN
  247. 2420  CLS:LOCATE 12,26:PRINT"ENTER THE GENERAL ONE LETTER":LOCATE 13,24:INPUT"CODE THAT YOU WISH TO SUMMARIZE";FILE$
  248. 2425  IF LEN(FILE$)<>1 GOTO 2440
  249. 2430  IF (ASC(FILE$)<65 OR ASC(FILE$)>90) AND FILE$ <> "--" GOTO 2440
  250. 2435  RETURN
  251. 2440  BEEP:COLOR 0,7:LOCATE 20,19:PRINT "CODE MUST BE A SINGLE CAPITAL LETTER OR A -":COLOR 7,0:GOSUB 4008:GOTO 2420
  252. 2480  CLS: LOCATE 12,28:PRINT"MAKE SURE THAT THERE IS AN":LOCATE 13,24:PRINT"EMPTY FORMATTED DISK IN DRIVE B":GOSUB 4008
  253. 2485  ON ERROR GOTO 2497
  254. 2490  OPEN "O",#1,"B:FILE":CLOSE
  255. 2492  KILL "B:FILE"
  256. 2495  ON ERROR GOTO 0:RETURN
  257. 2497  RESUME 2480
  258. 2500  CLS:LOCATE 12,22:PRINT"PLEASE READY PRINTER AND ALIGN PAPER":LOCATE 13,28:GOSUB 4008:RETURN       
  259. 2550  A$="N":IF NUMOFCODES=0 THEN RETURN
  260. 2555  FOR I=1 TO NUMOFCODES
  261. 2560  IF CE$=SC$(I) THEN A$="Y":RETURN
  262. 2565  NEXT:RETURN
  263. 2600  NUMOFCODES=NUMOFCODES+1:SC$(NUMOFCODES)=CE$:RETURN
  264. 2620  IF S=1 THEN SUBHEAD$="THE SPECIFIC CODE "+SPEC$:GOTO 2635
  265. 2625  IF S=2 THEN SUBHEAD$="THE GENERAL CODE "+GEN$: GOTO 2635
  266. 2630  SUBHEAD$="ALL CODES"
  267. 2635  HEAD$="PC-CHECK SUMMARY OF "+SUBHEAD$+" IN THE CHECK FILE "+CF$
  268. 2639  HEAD2$=" "
  269. 2640  IF H3<>1 THEN BD=H:GOSUB 950: HEAD2$="FROM "+BSLASH$
  270. 2645  IF H4<>1 THEN BD=HE:GOSUB 950: HEAD2$=HEAD2$+" TO "+BSLASH$
  271. 2649  CLS:PP=2
  272. 2650  GOSUB 2670:LOCATE PP,P:COLOR 0,7:PRINT HEAD$: COLOR 7,0:IF L$="Y" THEN LPRINT SPACE$(P)+HEAD$
  273. 2655  IF HEAD2$<>" " THEN HEAD$=HEAD2$:HEAD2$=" ":PP=3:GOTO 2650
  274. 2660  IF L$="Y" THEN LPRINT:LPRINT:
  275. 2665  RETURN
  276. 2670  P=((80-LEN(HEAD$))/2):P=INT(P):RETURN
  277. 2700  HEAD$=" ":IF FCODE$="NONE" GOTO 2715
  278. 2705  FOR II=1 TO CN
  279. 2710  IF C1$(II)=SC$(I) THEN HEAD$="     "+C2$(II) ELSE NEXT
  280. 2715  HEAD$="SUMMARY OF "+SC$(I)+HEAD$
  281. 2720  PP=5
  282. 2730  GOSUB 2650
  283. 2735  PRINT:PRINT Z1$: IF L$="Y" THEN LPRINT:LPRINT Z4$
  284. 2740  RETURN
  285. 2750  IF L$="Y" THEN LPRINT
  286. 2751  HEAD$="TOTAL CHECKS"+SPACE$(10)+"$"+STR$(TCK#)+SPACE$(10)+"TOTAL DEPOSITS"+SPACE$(10)+"$"+STR$(TD#)
  287. 2752  HEAD3$="TOTAL ATW'S"+SPACE$(10)+"$"+STR$(TA#)+SPACE$(10)+"TOTAL CHARGES"+SPACE$(10)+"$"+STR$(TC#)
  288. 2755  PRINT:PRINT:PP=23:GOSUB 2650:PRINT:HEAD$=HEAD3$:GOSUB 2650
  289. 2760  IF L$="N" THEN GOSUB 4008
  290. 2765  TOTALCK#=TOTALCK#+TCK#: TOTALD#=TOTALD#+TD#:TOTALC#=TOTALC#+TC#: TOTALA#=TOTALA#+TA#
  291. 2770  RETURN
  292. 2780  TCK#=TOTALCK#:TA#=TOTALA#:TD#=TOTALD#:TC#=TOTALC#:GOTO 2750
  293. 2785  IF N=0 THEN TD#=TD#+AM#:RETURN
  294. 2790  IF N=-1 THEN IF LEFT$(ID$,4)="ATW " THEN TA#=TA#+AM#:RETURN ELSE TC#=TC#+AM#:RETURN
  295. 2795  TCK#=TCK#+AM#:RETURN
  296. 4000  A$=INKEY$:IF A$="" GOTO 4000 ELSE IF ASC(A$)=27 GOTO 4000 ELSE A=VAL(A$):RETURN
  297. 4008  LOCATE 24,23:COLOR 0,7:PRINT"****PRESS ANY KEY TO CONTINUE****";:COLOR 7,0
  298. 4010  A$=INKEY$: IF A$="" GOTO 4010 ELSE IF ASC(A$)=27 GOTO 4010 ELSE FCL=2423.34:GOSUB 10000:RETURN
  299. 4050  IF CE$="--" THEN INDEX=MAXCODES ELSE INDEX=((ASC(LEFT$(CE$,1))-65)*26)+(ASC(RIGHT$(CE$,1))-64)
  300. 4055  RETURN
  301. 4100  I%=0:C1$(I%)="CODE":C2$(I%)="DEFINE"
  302. 4105  OPEN"O",1,CF$
  303. 4110  CN=0 : PRINT#1,CN
  304. 4115  WRITE #1,C1$(I%);C2$(I%)
  305. 4120  CLOSE:RETURN
  306. 4150  OPEN"I",1,CF$
  307. 4155  INPUT#1,CN:FOR I%=0 TO CN:INPUT#1,C1$(I%),C2$(I%):NEXT:CLOSE:RETURN
  308. 4170  CLS:PRINT:COLOR 0,7:PRINT Z7$:COLOR 7,0:IF L$="Y" THEN LPRINT Z7$
  309. 4175  FOR I%=1 TO CN
  310. 4180  PRINT USING Z8$;C1$(I%),C2$(I%)
  311. 4185  IF L$="Y" THEN LPRINT USING Z8$;C1$(I%),C2$(I%)
  312. 4190  IF L$="N" THEN IF I%/10=INT(I%/10) THEN COLOR 15:BEEP:LOCATE ,25:PRINT"*PRESS ANY KEY FOR MORE ENTRIES":COLOR 7,0 ELSE GOTO 4195 ELSE GOTO 4195
  313. 4192  A$=INKEY$:IF A$="" GOTO 4192 ELSE IF A$="0" THEN RETURN
  314. 4195  NEXT:COLOR 15:BEEP:FOR TIME=1 TO 250:NEXT:BEEP:LOCATE 25,28:PRINT"PRESS ANY KEY TO RETURN";:COLOR 7,0:GOSUB 4010:RETURN
  315. 4246  ER=0:IF I%=>MAXCODES THEN ER=8:GOSUB 8000
  316. 4247  RETURN
  317. 4250  CLS:LOCATE 13,20:INPUT"ENTER TWO LETTER CODE (END TO RETURN)";C1$(I%)
  318. 4251  IF C1$(I%)="END" THEN RETURN
  319. 4252  IF LEN(C1$(I%))>2 THEN ER=4:GOSUB 8000:GOTO 4250
  320. 4253  FOR J=1 TO 2:IF MID$(C1$(I%),J,1)="," THEN ER=5:GOSUB 8000:GOTO 4250
  321. 4254  NEXT
  322. 4255  LOCATE 15,27:INPUT"ENTER DEFINITION OF CODE";C2$(I%)
  323. 4257  IF LEN(C2$(I%))>25 THEN ER=4:GOSUB 8000:GOTO 4255
  324. 4258  FOR J=1 TO LEN(C2$(I%)):IF MID$(C2$(I%),J,1)="," THEN ER=5:GOSUB 8000:GOTO 4255
  325. 4259  NEXT:RETURN
  326. 4269  CN=CN+1:RETURN
  327. 4272  I%=I%+1:GOSUB 4246:RETURN
  328. 4275  OPEN"O",1,CF$
  329. 4280  PRINT#1,CN
  330. 4285  FOR I%=0 TO CN
  331. 4290  WRITE #1,C1$(I%);C2$(I%)
  332. 4295  NEXT:CLOSE:RETURN
  333. 4335  CLS: LOCATE 13,16:INPUT"*ENTER CODE THAT YOU WISH TO DELETE FROM THE FILE";C$:RETURN
  334. 4345  LOCATE 15,21:PRINT"THIS IS THE CODE THAT YOU WILL DELETE":RETURN
  335. 4353  OPEN "O",1,CF$
  336. 4355  CN=CN-1:PRINT#1,CN
  337. 4360  I=I-1:FOR I%=0 TO I
  338. 4363  WRITE #1,C1$(I%);C2$(I%):NEXT
  339. 4365  I=I%+1:FOR I%=I TO CN+1
  340. 4368  WRITE #1,C1$(I%);C2$(I%):NEXT:CLOSE
  341. 4370  C$=" ":RETURN
  342. 4435  CLS:LOCATE 13,16:INPUT"*ENTER THE CURRENT CODE THAT YOU WISH TO CHANGE";C$:RETURN
  343. 4450  CLS:LOCATE 10,1:PRINT Z7$:LOCATE 12,1:PRINT USING Z8$;C1$(I),C2$(I):RETURN
  344. 4455  LOCATE 15,21:PRINT"THIS IS THE CODE THAT YOU WILL CHANGE":RETURN
  345. 4535  CLS:LOCATE 13,20:INPUT"*ENTER CODE WHICH NEW CODE IS TO PRECEDE";C$:RETURN
  346. 4545  LOCATE 15,16:PRINT"THIS IS THE CODE THAT YOUR NEW CODE IS TO PRECEDE":RETURN
  347. 4550  CLS:LOCATE 13,32:COLOR 31:PRINT "****FINDING EDIT":COLOR 7,0:FOR I%=I TO CN
  348. 4555  IF C$=C1$(I%) THEN I=I%:RETURN
  349. 4560  NEXT
  350. 4565  LOCATE 25,21:COLOR 0,7:BEEP:PRINT"THIS CODE DOES NOT EXIST ON THIS FILE";:COLOR 7,0:GOSUB 4008:N=1:RETURN
  351. 4570  FOR I%=CN+1 TO I+1 STEP -1:C1$(I%)=C1$(I%-1):C2$(I%)=C2$(I%-1):NEXT:I%=I:CN=CN+1:RETURN
  352. 4600  D$=CF$:IF RIGHT$(CF$,4)=".COB" THEN W=2
  353. 4605  CLS:CF$=" ":LOCATE 12,23:PRINT"*ENTER THE NEW NAME THAT YOU WISH":LOCATE 13,20:INPUT"TO ASSIGN TO YOUR FILE (0 TO RETURN)";CF$
  354. 4620  IF CF$="0" THEN RETURN
  355. 4622  IF CF$="DIR" THEN GOSUB 1150:GOTO 4605
  356. 4625  BAK$="":IF RIGHT$(CF$,4)=".BAK" OR RIGHT$(CF$,4)=".COB" THEN BAK$=RIGHT$(CF$,4)
  357. 4626  IF W=1 AND BAK$=".COB" THEN ER=12:GOSUB 8000:GOTO 4605
  358. 4627  IF W=2 AND BAK$=".BAK" THEN ER=12:GOSUB 8000:GOTO 4605
  359. 4630  GOSUB 630:IF W=2 AND BAK$=".COB" THEN CF$=LEFT$(CF$,(LEN(CF$)-3))
  360. 4632  CF$=CF$+BAK$:GOSUB 1200
  361. 4635  IF EXIST=1 THEN ER=9:GOSUB 8000:GOTO 4605
  362. 4640  GOSUB 647:IF A$="N" GOTO 4605
  363. 4650  NAME D$ AS CF$:RETURN
  364. 4730  FCL=2201.79:GOSUB 10000:LOCATE 24,79:PRINT:COLOR 0,7:LOCATE 22,1:PRINT Z1$:COLOR 7,0
  365. 4733  LOCATE 15,24:PRINT"* ENTER CHECK NUMBER OF NEW ENTRY":LOCATE 16,9:PRINT"(D FOR DEPOSIT OR AUTOMATIC DEPOSIT, A FOR AUTOMATIC WITHDRAWAL,":LOCATE 17,23:PRINT"C FOR OTHER CHARGE, END TO RETURN)"
  366. 4735  LOCATE 23,2:INPUT"",N$:IF N$="" THEN IF N<>-1 GOTO 4745 ELSE GOTO 4735
  367. 4736  IF N$="END" THEN N$="0":RETURN
  368. 4737  IF N$="D" THEN N=0:GOTO 4745
  369. 4738  IF N$="C" OR N$="A" THEN N=-1:GOTO 4745
  370. 4740  N=VAL(N$):NSTR$=STR$(N):IF (RIGHT$(NSTR$,LEN(NSTR$)-1)<>N$) OR (INT(N)<>N) OR (N>9999) THEN COLOR 0,7:BEEP:LOCATE 25,10:PRINT"CHECK NUMBER MUST BE INTEGER <9999. PRESS RETURN TO CONTINUE";:COLOR 7,0 ELSE GOTO 4745
  371. 4742  GOSUB 4010:FCL=2510.61:GOSUB 10000:FCL=2302.06:GOSUB 10000:GOTO 4735
  372. 4745  FOR I=15 TO 17:FCL=I*100+1.78:GOSUB 10000:NEXT:LOCATE 23,2:PRINT N
  373. 4750  Q=0:LOCATE 23,8:INPUT"",TEMPBD$:IF TEMPBD$="" GOTO 4760 ELSE BD$=TEMPBD$:GOSUB 875
  374. 4755  IF Q=1 THEN FCL=2308.1:GOSUB 10000:GOTO 4750 ELSE GOSUB 950: LOCATE 23,8:PRINT BSLASH$
  375. 4760  LOCATE 23,18: LINE INPUT"",TEMPID$:IF TEMPID$="" GOTO 4770 ELSE ID$=TEMPID$
  376. 4765  IF LEN(ID$)>25 THEN ER=4: GOSUB 8000:FCL=2318+(LEN(ID$)/100):GOSUB 10000:GOTO 4760
  377. 4767  FOR J=1 TO LEN(ID$): J$=MID$(ID$,J,1):IF J$="," THEN ER=5: GOSUB 8000:FCL=2318.25:GOSUB 10000: GOTO 4760 ELSE NEXT
  378. 4769  IF N$="A" THEN IF LEN(ID$)>21 THEN ID$="ATW "+LEFT$(ID$,21) ELSE ID$="ATW "+ID$
  379. 4770  FCL=2318+((LEN(ID$)+1)/100):GOSUB 10000:LOCATE 23,18:PRINT LEFT$(ID$,12);
  380. 4775  LOCATE 23,34:LINE INPUT"",TEMPAM$:IF TEMPAM$<>"" THEN AM#=VAL(TEMPAM$):FOR J=1 TO LEN(TEMPAM$):JJ=ASC(MID$(TEMPAM$,J,1)):IF (JJ<48 OR JJ>57) AND JJ<>46 THEN ER=1:GOSUB 8000:FCL=2334.13:GOSUB 10000:GOTO 4775 ELSE NEXT
  381. 4776  BB#=AM#:GOSUB 770:IF Q=1 THEN Q=0:FCL=2334.13:GOSUB 10000:GOTO 4775 ELSE AM#=BB#
  382. 4777  GOSUB 4795:LOCATE 23,31:PRINT USING ZDD$;AM#,BB#
  383. 4780  LOCATE 23,67:LINE INPUT"",TEMPCE$:IF TEMPCE$="" GOTO 4787 ELSE CE$=TEMPCE$
  384. 4782  IF LEN(CE$)<>2 THEN ER=11:GOSUB 8000:FCL=2367+(LEN(CE$)/100):GOSUB 10000:GOTO 4780
  385. 4785  FOR J=1 TO 2:JJ=ASC(MID$(CE$,J,1)):IF JJ<65 OR JJ>90 THEN ER=11:GOSUB 8000:FCL=2367.02:GOSUB 10000:GOTO 4780 ELSE NEXT
  386. 4787  IF R<>1 THEN R$="O" ELSE LOCATE 15,21:PRINT"HAS THIS CHECK BEEN RECONCILED? (Y/N)":GOSUB 4010:FCL=1520.5:GOSUB 10000:IF A$="Y" THEN R$="*" ELSE IF A$="N" THEN R$="O"
  387. 4788  LOCATE 23,70:PRINT R$
  388. 4790  GOSUB 4807:IF A$="N" GOTO 4733 ELSE LOCATE 11,1:PRINT USING Z2$;N,BSLASH$,ID$,AM#,BB#,CE$,R$:RETURN
  389. 4795  IF N=0 THEN BB#=B1#+AM# ELSE BB#=B1#-AM#
  390. 4796  RETURN
  391. 4807  LOCATE 25,23:A$=" ":PRINT"PRESS 'Y' IF OKAY. IF NOT PRESS 'N'";:GOSUB 4010
  392. 4810  IF A$<>"Y" AND A$<>"N" THEN ER=1:GOSUB 8000:GOTO 4807
  393. 4811  FCL=2501.78:GOSUB 10000:RETURN
  394. 4820  CLS:BD$=" ":LOCATE 12,22:PRINT"*TO WHAT DATE DO YOU WISH TO CONTINUE":LOCATE 13,32:INPUT"(RETURN FOR END)";BD$:IF BD$="0" OR BD$="" THEN CLS:IF BD$="" THEN BD$="1":RETURN ELSE RETURN
  395. 4830  GOSUB 875:IF Q=1 THEN Q=0:GOTO 4820
  396. 4835  HE=BD:CLS:RETURN
  397. 4850  CLS:BD$=" ":LOCATE 12,23:PRINT"*FROM WHAT DATE DO YOU WISH TO BEGIN":LOCATE 13,29:INPUT"(RETURN FOR BEGINNING)";BD$:IF BD$="0" OR BD$="" THEN CLS:IF BD$="" THEN BD$="1":RETURN ELSE RETURN
  398. 4858  GOSUB 875 :IF Q=1 THEN Q=0:GOTO 4850
  399. 4859  H=BD:CLS:RETURN
  400. 4860  CLS:LOCATE 13,22:PRINT"DO YOU WISH TO LIST THE FILE (Y/N/0)":GOSUB 4010
  401. 4861  IF A$="0" THEN RETURN
  402. 4862  IF A$<>"Y" AND A$<>"N" THEN ER=1:GOSUB 8000:GOTO 4860
  403. 4863  RETURN
  404. 4865  CLS:LOCATE 13,21:PRINT"DO YOU WISH TO USE LINE PRINTER (Y/N)":GOSUB 4010:L$=A$
  405. 4866  IF L$<>"Y" AND L$<>"N" THEN ER=1:GOSUB 8000:GOTO 4865
  406. 4867  IF L$="Y" THEN GOSUB 2500
  407. 4868  RETURN
  408. 4870  IF F=1 THEN LOCATE 25,16:BEEP:COLOR 0,7:PRINT" THIS FILE DOES NOT GO UP TO THE DATE REQUESTED.";:COLOR 7,0:GOSUB 4008:FCL=2516.49:GOSUB 10000:CLOSE:RETURN
  409. 4874  IF H>BD THEN GOSUB 5030:H3=0:GOTO 4870 ELSE RETURN
  410. 4880  IF BD>HE THEN A$="Y" ELSE A$="N"
  411. 4881  RETURN
  412. 4890  Q=0:CLS:PRINT Z1$:IF L$="Y" THEN LPRINT Z4$
  413. 4891  RETURN
  414. 4895  A$=" ":IF H3=1 THEN GOSUB 950:PRINT USING "       \      \                              $$#########.##";BSLASH$,BB#:IF L$="Y" THEN LPRINT USING"       \      \                                         $$#########.##";BSLASH$,BB#
  415. 4896  IF H3=1 THEN H3=0:RETURN
  416. 4897  GOSUB 950:PRINT USING Z2$;N,BSLASH$,ID$,AM#,BB#,CE$,R$;:Q=Q+1:IF L$="Y" THEN LPRINT USING Z3$;N,BSLASH$,ID$,AM#,BB#,CE$,R$
  417. 4898  IF BB#<0 THEN LOCATE  ,46:COLOR 0,7:PRINT USING ZD$;BB#;:COLOR 7,0:PRINT ELSE PRINT
  418. 4899  IF L$="N" THEN IF Q/10=INT(Q/10) THEN COLOR 15:BEEP:LOCATE ,25:PRINT"*PRESS ANY KEY FOR MORE ENTRIES":COLOR 7,0 ELSE RETURN ELSE RETURN
  419. 4900  A$=INKEY$:IF A$="" GOTO 4900 ELSE RETURN
  420. 4915  COLOR 15:BEEP:FOR TIME=1 TO 250:NEXT:BEEP:LOCATE 25,28:PRINT"PRESS ANY KEY TO RETURN";:COLOR 7,0:GOSUB 4010
  421. 4920  CLS:CLOSE:RETURN
  422. 4950  CLOSE:NAME CF$ AS "OLDFILE"
  423. 4955  NAME "WORKFILE" AS CF$: KILL "CATALOG"
  424. 4960  KILL "OLDFILE"
  425. 4965  RETURN
  426. 5000  OPEN"I",1,CF$:RETURN
  427. 5030  F=0:IF EOF(1) THEN F=1:RETURN
  428. 5035  INPUT#1,N,BD,ID$,CE$,AM#,BB#,R$
  429. 5040  RETURN
  430. 5060  OPEN"O",2,"CATALOG":WRITE#2,CF$:CLOSE 2
  431. 5065  OPEN"O",2,"WORKFILE"
  432. 5070  RETURN
  433. 5085  WRITE #2,N;BD;ID$;CE$;AM#;BB#;R$
  434. 5090  RETURN
  435. 5100  IF EVAL$="" OR EVAL$="D" OR EVAL$="I" THEN EVAL=0 ELSE IF EVAL$="C" OR EVAL$="A" THEN EVAL=-1 ELSE EVAL=VAL(EVAL$)
  436. 5105  RETURN
  437. 5110  LOCATE 12,22:PRINT"ENTER THE CHECK NUMBER OF THE ENTRY":LOCATE 13,24:INPUT"WHICH THE NEW ENTRY IS TO FOLLOW";EVAL$:GOSUB 5100:E2(I%)=EVAL:E3(I%)=-2:E5(I%)=-2:E9=E2(I%):RETURN
  438. 5115  LOCATE 12,22:PRINT"ENTER THE CHECK NUMBER OF THE ENTRY":LOCATE 13,28:INPUT"THAT YOU WISH TO DELETE";EVAL$:GOSUB 5100:E3(I%)=EVAL:E2(I%)=-2:E5(I%)=-2:E9=E3(I%):RETURN
  439. 5120  LOCATE 12,22:PRINT"ENTER THE CHECK NUMBER OF THE ENTRY":LOCATE 13,28:INPUT"THAT YOU WISH TO CHANGE";EVAL$:GOSUB 5100:E5(I%)=EVAL:E2(I%)=-2:E3(I%)=-2:E9=E5(I%):RETURN
  440. 5125  LOCATE 16,26:PRINT"ENTER THE DATE OF THE ENTRY":LOCATE 17,24:INPUT"WHICH THE NEW ENTRY IS TO FOLLOW";BD$:GOSUB 875:IF Q=1 THEN Q=0:GOTO 5125
  441. 5130  E2(I%)=BD:RETURN
  442. 5135  LOCATE 16,26:PRINT"ENTER THE DATE OF THE ENTRY":LOCATE 17,28:INPUT"THAT YOU WISH TO DELETE";BD$:GOSUB 875:IF Q=1 THEN Q=0:GOTO 5135
  443. 5137  E3(I%)=BD:RETURN
  444. 5140  LOCATE 16,26:PRINT"ENTER THE DATE OF THE ENTRY":LOCATE 17,28:INPUT"THAT YOU WISH TO CHANGE";BD$:GOSUB 875:IF Q=1 THEN Q=0:GOTO 5140
  445. 5142  E5(I%)=BD:RETURN
  446. 5145  CLS:LOCATE 13,15:PRINT"DO YOU WISH TO EDIT ANY /ANY OTHER ENTRIES (Y/N)":GOSUB 4010
  447. 5147  IF A$<>"Y" AND A$<>"N" THEN ER=1:GOSUB 8000:GOTO 5145
  448. 5150  IF A$="N" THEN EI=I%:CLS:LOCATE 13,31:COLOR 31:PRINT"****FINDING EDITS":COLOR 7,0:RETURN
  449. 5152  IF I%=MAXEDIT THEN BEEP:LOCATE 25,14:PRINT "NUMBER OF EDITS HAS EXCEEDED NUMBER OF EDITS ALLOWED";:GOSUB 4008:A$="N":GOTO 5150
  450. 5155  CLS:LOCATE 11,35:PRINT"1. INSERT":LOCATE 12,35:PRINT"2. DELETE":LOCATE 13,35:PRINT"3. CHANGE":LOCATE 15,25:COLOR 0,7:PRINT "ENTER NUMBER OF DESIRED OPTION":COLOR 7,0:GOSUB 4000:E9=A
  451. 5156  IF E9<1 OR E9>3 THEN ER=1:GOSUB 8000:GOTO 5155
  452. 5157  IF E9=1 THEN E=2
  453. 5158  IF E9=2 THEN E=3
  454. 5159  IF E9=3 THEN E=5
  455. 5160  I%=I%+1:A$="Y":RETURN
  456. 5170  FOR I%=1 TO EI
  457. 5175  E9=0:IF N=E2(I%) OR (BD=E2(I%) AND (N=-1 OR N=0)) OR N=E3(I%) OR (BD=E3(I%)AND (N=-1 OR N=0)) OR N=E5(I%) OR (BD=E5(I%) AND (N=-1 OR N=0)) THEN E9=1:RETURN
  458. 5177  NEXT:RETURN
  459. 5190  CLS:GOSUB 950:LOCATE 24,1:PRINT USING Z2$;N,BSLASH$,ID$,AM#,BB#,CE$,R$;
  460. 5195  IF E3(I%)<>-2 GOTO 5215
  461. 5196  IF E5(I%)<>-2 GOTO 5225
  462. 5200  LOCATE 13,5:PRINT"IS THIS THE ENTRY THAT YOU WISH YOUR NEW ENTRY/ENTRIES TO FOLLOW (Y/N)":GOSUB 4010:E=1:GOTO 5227
  463. 5215  LOCATE 13,16:PRINT"IS THIS THE ENTRY THAT YOU WISH TO DELETE (Y/N)":GOSUB 4010:E=2:GOTO 5227
  464. 5225  LOCATE 13,16:PRINT"IS THIS THE ENTRY THAT YOU WISH TO CHANGE (Y/N)":E=3
  465. 5226  A$=INKEY$:IF A$="" GOTO 5226 ELSE FCL=1316.55:GOSUB 10000
  466. 5227  IF A$<>"Y" AND A$<>"N" THEN ER=1:GOSUB 8000:GOTO 5195
  467. 5230  RETURN
  468. 5300  CLS:LOCATE 6,32:COLOR 0,7:PRINT"FINDING A CHECK";
  469. 5305  LOCATE 8,23:PRINT"DO YOU WISH TO FIND YOUR CHECK BY";:COLOR 7,0
  470. 5306  LOCATE 10,33:PRINT"1. CHECK NUMBER"
  471. 5307  LOCATE 11,33:PRINT"2. DATE"
  472. 5308  LOCATE 12,33:PRINT"3. DESCRIPTION"
  473. 5309  LOCATE 13,33:PRINT"4. AMOUNT"
  474. 5310  LOCATE 14,33:PRINT"5. BALANCE"
  475. 5311  LOCATE 15,33:PRINT"6. CODE"
  476. 5315  LOCATE 17,17:COLOR 0,7:PRINT"ENTER NUMBER OF DESIRED OPTION (0 TO RETURN)";:COLOR 7,0:GOSUB 4000:FI=A
  477. 5320  IF FI<0 OR FI>6 THEN ER=1:GOSUB 8000:GOTO 5300
  478. 5321  RETURN
  479. 5325  CLS:LOCATE 13,13:INPUT"WHAT IS THE CHECK NUMBER OF THE CHECK YOU WISH TO FIND";F1:RETURN
  480. 5330  CLS:LOCATE 13,17:INPUT"WHAT IS THE DATE OF THE ENTRY YOU WISH TO FIND";BD$
  481. 5332  GOSUB 875:IF Q=1 THEN Q=0:GOTO 5330
  482. 5333  F1=BD:RETURN
  483. 5335  CLS:LOCATE 13,11:INPUT"WHAT IS THE DESCRIPTION OF THE CHECK THAT YOU WISH TO FIND";F1$:RETURN
  484. 5340  CLS:LOCATE 13,13:INPUT"WHAT IS THE AMOUNT OF THE CHECK THAT YOU WISH TO FIND";BB#:GOSUB 770
  485. 5342  F1#=BB#:RETURN
  486. 5345  CLS:LOCATE 13,13:INPUT"WHAT IS THE BALANCE OF THE CHECK THAT YOU WISH TO FIND";BB#:GOSUB 770
  487. 5347  F1#=BB#:RETURN
  488. 5350  CLS:LOCATE 13,14:INPUT"WHAT IS THE CODE OF THE CHECK THAT YOU WISH TO FIND";F1$:RETURN
  489. 5385  IF N=F1 THEN GOSUB 4897
  490. 5386  RETURN
  491. 5387  IF BD=F1 THEN GOSUB 4897
  492. 5388  RETURN
  493. 5389  IF LEFT$(ID$,LEN(F1$))=F1$ THEN GOSUB 4897
  494. 5390  RETURN
  495. 5391  IF ABS(AM#-F1#)<0.01 THEN GOSUB 4897
  496. 5392  RETURN
  497. 5393  IF ABS(BB#-F1#)<0.01 THEN GOSUB 4897
  498. 5394  RETURN
  499. 5395  IF CE$=F1$ THEN GOSUB 4897
  500. 5396  RETURN
  501. 5400  TEMPENTRY=0:TEMPN=0:TEMPBD=999999:TEMPID$="0000000000000000000000000":TEMPAM#=0:TEMPBB=0:TEMPCE$="--":TEMPR$="*":RETURN
  502. 5410  TEMPENTRY=1:TEMPN=N:TEMPBD=BD:TEMPID$=ID$:TEMPAM#=AM#:TEMPBB=BB#:TEMPCE$=CE$:TEMPR$=R$:RETURN
  503. 5420  IF TEMPENTRY=1 THEN N=TEMPN:BD=TEMPBD:ID$=TEMPID$:AM#=TEMPAM#:BB#=TEMPBB#:CE$=TEMPCE$:R$=TEMPR$:GOSUB 5400:RETURN
  504. 5500  CLS:LOCATE 8,29:COLOR 0,7:PRINT"RECONCILIATION MENU";:COLOR 7,0
  505. 5510  LOCATE 10,23:PRINT"1. INITIAL RECONCILIATION"
  506. 5515  LOCATE 11,23:PRINT"2. RECONCILE WITH A BANK STATEMENT"
  507. 5520  LOCATE 12,23:PRINT"3. LIST OUTSTANDING CHECKS"
  508. 5525  LOCATE 14,17:COLOR 0,7:PRINT"*ENTER NUMBER OF DESIRED OPTION (0 TO RETURN)";:COLOR 7,0:GOSUB 4000:ROPTION=A
  509. 5535  IF ROPTION<0 OR ROPTION>3 THEN ER=1:GOSUB 8000:GOTO 5500
  510. 5540  RETURN
  511. 5550  CLS:LOCATE 8,1:COLOR 9,0:PRINT"*WARNING:";:COLOR 7,0:PRINT" Using the initial reconciliation option will mark all entries between":LOCATE 9,1:PRINT"the dates specified in the file in use as reconciled (*).  This should be used"
  512. 5560  LOCATE 10,1:PRINT "only when all of the checks entered were reconciled before the use of this      program and is provided so that the user need not edit every entry  in order to change them to a reconciled status.";
  513. 5565  LOCATE 13,1:PRINT "After all of the entries have been marked reconciled, the edit may be used to   change the status of desired entries back to outstanding (O)."
  514. 5570  LOCATE 20,5:PRINT "IF YOU DO NOT WISH TO CONTINUE, PRESS R . OTHERWISE JUST <RETURN>":GOSUB 4010:RETURN
  515. 6000  FOR R%=1 TO R1:RN(R%)=0:RA#(R%)=0:NEXT:TEMPENTRY=0:TEMPFILE=0:I%=0:RO#=0:CD1=0:RETURN
  516. 6150  CLS:LOCATE 13,13:PRINT"WOULD YOU LIKE THE RECONCILIATION TO RUN UNATTENDED?(Y/N)":LOCATE 15,29:PRINT"(NORMALLY RESPOND 'N')"
  517. 6155  LOCATE 16,33:PRINT"(0 TO RETURN)":GOSUB 4010:IF A$="0" THEN RETURN ELSE IF A$<>"Y" THEN A$="N"
  518. 6160  IF A$="N" THEN RMONITOR=1 ELSE RMONITOR=0:EI=0
  519. 6165  RETURN
  520. 6200  FOR R%=1 TO R1
  521. 6205  IF (N=0 OR N=-1) AND N=RN(R%) AND ABS(AM#-RA#(R%))<0.01 GOTO 6230
  522. 6207  IF N<>0 AND N<>-1 AND N=RN(R%) GOTO 6230
  523. 6210  NEXT
  524. 6220  IF N=0 THEN RO#=RO#+AM# ELSE RO#=RO#-AM#
  525. 6225  RETURN
  526. 6230  IF ABS(AM#-RA#(R%))<0.01 THEN R$="*":RN(R%)=RN(R1):RA#(R%)=RA#(R1):R1=R1-1:RETURN
  527. 6232  IF RMONITOR=0 GOTO 6220
  528. 6235  CLS:LOCATE 5,21:PRINT"THERE IS AN AMOUNT DISCREPANCY BETWEEN":LOCATE 6,17:PRINT"THE FILE ENTRY AND THE BANK  STATEMENT'S AMOUNT"
  529. 6240  Q=0:LOCATE 9,1:PRINT"THE FILE ENTRY IS":LOCATE 10,1:GOSUB 4897
  530. 6245  LOCATE 12,1:PRINT"THE BANK STATEMENT'S AMOUNT IS":LOCATE 12,31:PRINT USING ZD$;RA#(R%)
  531. 6247  LOCATE 13,31:PRINT"--------------":LOCATE 14,1:PRINT"THE DIFFERENCE IS":LOCATE 14,31:COLOR 0,7:PRINT USING ZD$;ABS(AM#-RA#(R%)):COLOR 7,0
  532. 6250  LOCATE 17,13:PRINT"1. FILE AMOUNT WRONG.MARK RECONCILED"
  533. 6255  LOCATE 18,13:PRINT"2. BANK STATEMENT AMOUNT WRONG.MARK RECONCILED"
  534. 6260  LOCATE 19,13:PRINT"3. LEAVE ENTRY OUTSTANDING"
  535. 6265  LOCATE 21,25:COLOR 0,7:PRINT"ENTER NUMBER OF DESIRED OPTION":COLOR 7,0:GOSUB 4000:ROPTN=A:IF ROPTN<1 OR ROPTN>3 THEN ER=1:GOSUB 8000:GOTO 6265
  536. 6270  IF ROPTN=1 THEN AM#=RA#(R%):GOTO 6230
  537. 6275  IF ROPTN=2 THEN RA#(R%)=AM#:GOTO 6230
  538. 6280  GOTO 6220
  539. 6300  CLS:LOCATE 4,20:PRINT"YOUR CHECK BOOK BALANCE DOES NOT MATCH":LOCATE 5,24:PRINT"WITH THE BANK STATEMENT'S BALANCE":TBD=BD:BD=CD:GOSUB 950:BD=TBD:LOCATE 6,36:PRINT BSLASH$
  540. 6305  LOCATE 10,1:PRINT"THE BANK BALANCE IS";:LOCATE 10,65:PRINT USING ZD$;RB#
  541. 6310  LOCATE 11,1:PRINT"THE FILE BALANCE WITHOUT THE STILL OUTSTANDING ENTRIES IS";:LOCATE 11,65:PRINT USING ZD$;FB#
  542. 6315  LOCATE 12,65:PRINT"--------------"
  543. 6320  LOCATE 13,1:PRINT"THE DIFFERENCE IS";:LOCATE 13,65:COLOR 0,7:PRINT USING ZD$;ABS(RB#-FB#):COLOR 7,0
  544. 6325  LOCATE 16,16:PRINT"1. BANK BALANCE ENTERED WRONG.ENTER A NEW BALANCE"
  545. 6330  LOCATE 17,16:PRINT"2. BANK STATEMENT DATE ENTERED WRONG.ENTER NEW DATE"
  546. 6335  LOCATE 18,16:PRINT"3. ACCEPT BANK BALANCE IN A TEMPORARY FILE"
  547. 6340  LOCATE 19,16:PRINT"4. ACCEPT BANK BALANCE AND ACCEPT CURRENT FILE"
  548. 6345  LOCATE 20,16:PRINT"5. ABORT RECONCILIATION"
  549. 6350  LOCATE 22,25:COLOR 0,7:PRINT"ENTER NUMBER OF DESIRED OPTION":COLOR 7,0:GOSUB 4000:ROPTN=A:IF ROPTN<1 OR ROPTN>5 THEN ER=1:GOSUB 8000:GOTO 6350
  550. 6355  IF ROPTN<3 OR ROPTN>4 THEN RETURN
  551. 6360  IF ROPTN=3 THEN TEMPFILE=1
  552. 6365  N=-1: BD=CD:ID$="MISC. ADJUSTMENT*********":AM#=FB#-RB#:BB#=B1#-AM#:CE$="--":R$="*"
  553. 6370  GOSUB 5085:B1#=BB#:RB#=FB#:RETURN
  554. 6375  CLS:LOCATE 10,13:PRINT"THE DATE OF THE CURRENT POSITION IN THE FILE, ";:LOCATE 10,59:TBD=BD:BD=TEMPCD:GOSUB 950:PRINT BSLASH$;:LOCATE 11,20:PRINT"IS BEYOND THE DATE YOU ENTERED, ";:LOCATE 11,52:BD=CD:GOSUB 950:PRINT BSLASH$:BD=TBD
  555. 6380  LOCATE 13,16:PRINT"1. ACCEPT BANK BALANCE IN TEMPORARY FILE"
  556. 6381  LOCATE 14,16:PRINT"2. BANK STATEMENT DATE ENTERED WRONG.ENTER NEW DATE"
  557. 6382  LOCATE 15,16:PRINT"3. ABORT RECONCILIATION"
  558. 6385  LOCATE 17,25:COLOR 0,7:PRINT"ENTER NUMBER OF DESIRED OPTION":COLOR 7,0:GOSUB 4000:ROPTN=A:IF ROPTN<1 OR ROPTN>3 THEN ER=1:GOSUB 8000:GOTO 6385
  559. 6390  IF ROPTN=1 THEN CD=999999:TEMPFILE=1
  560. 6393  IF ROPTN=2 THEN CD=TEMPCD
  561. 6395  RETURN
  562. 6400  IF LEFT$(ID$,16)="MISC. ADJUSTMENT" AND (CD=BD OR CD1=BD) GOTO 6406
  563. 6405  IF LEFT$(ID$,6)="RECORD" AND AM#=0
  564.